#ifndef cpu_use_H
#define cpu_use_H
#ifdef __cplusplus
extern "C"
{
#endif
    /*
        Chinese is encoded in Unicode. If it is garbled, please change the encoding method of the editor.
        简易低精度CPU使用情况库 By启凡科创 适用于任意C/C++平台MCU

        使用步骤：
            1）将cpu_use_tic()接口放置于ms级中断里，具体描述查看API说明
            2）将cpu_use_handle()接口按照API说明放到循环里
            3）配置好上述设置后，你可以随时调用cpu_use_percent()接口查看cpu使用率

        version:v1.0.1  2023-1-12
    */

#include "LIB_CONFIG.h" //包含配置文件
#ifndef CPU_USE_EN
#define CPU_USE_EN 0 // 如果配置文件未定义，则用户自定义，0禁用模块不不编译，1启用模块
#endif

#if CPU_USE_EN

    /**
     * @brief 给此函数提供一个ms级的中断心跳,越小的心跳间隔准确度越高，
     * @brief 但是过于小的心跳会造成监测任务对CPU的过多占用浪费，一般取100us-2ms较好
     */
    void cpu_use_tic();

    /**
     * @brief 将此函数放置于空闲任务内，如Arduino的loop，C51、32的main函数的死循环中
     */
    void cpu_use_handle();

    /**
     * @brief 获取当前CPU使用率百分比
     *
     * @return uint8_t 0-100
     */
    uint8_t cpu_use_percent();

#endif
#ifdef __cplusplus
}
#endif
#endif
